

/**
 * 在指定URL后面加上参数
 * @param url
 * @param name
 * @param value
 * @return
 */
function addParam(url, name, value) {
	if (url != null && name != null) {
		if (url.indexOf('?') == -1) {
			url = url + '?' + name + '=' + value;
		}else {
			url = url + '&' + name + '=' + value;
		}
	}
	return url;
}
/**
 * 增加操作
 * @return
 */
function doAdd() {
	window.location = ctx + cmdAdd;
}

/**
 * 返回操作
 * @param formId
 * @return
 */
function doReturn(formId) {
	window.location = ctx + cmdReturn;
}

/**
 * 页面验证方法
 */
function formCheck(formId){
	var form = getForm(formId);
	if(!form.valid()){
		return false;
	}
	return true;
}

/**
 * 获得页面的Form方法
 */
function getForm(formId){
	if(typeof(formId) == "undefined"){
		formId = $(document.forms[0]).attr("id");
	}
	if(typeof(formId) == "undefined"){
		parent.bootbox.alert("请确认formId是否存在");
		return null;
	}
	
	return $("#" + formId);
}
/**
 * 保存记录信息
 * @param formId
 * @return
 */
function doSave(formId) {//save操作必须需要formId,因为涉及页面验证
	var url = ctx + cmdSave;
	if(typeof(formId) == "undefined"){
		formId = $(document.forms[0]).attr("id");
	}
	if(typeof(formId) == "undefined"){
		parent.bootbox.alert("请确认formId是否存在");
		return;
	}
	if(formCheck(formId)) {
		var form = document.forms[formId];;
	
		form.action = url;
		form.submit();
	}
}
/**
 * 在list页面点击行进入 查看详情界面
 * @param formId
 * @return
 */
function doDetail(formId, pkName) {
	var url = addParam(ctx + cmdDetail);
	var form;
	if(typeof(formId) == "undefined"){
		form = document.forms[0];
	}else{
		form = document.forms[formId];
	}
	if(typeof(form) == "undefined"){
		if(parent){
			parent.bootbox.alert("请确认formId是否存在");
		}else{
			bootbox.alert("请确认formId是否存在");
		}
		return false;
	}
	
	//默认主键叫id
	if(typeof(pkName) == "undefined"){
		pkName = "id";
	}
	
	var delCount = 0;
	var pkvalue = "";
	$(form).find("input[name=PK]").each(function(){
		if(this.checked){
			pkvalue = $(this).attr("value");
			delCount += 1;
		}
	});
	
	if(delCount < 1){
		if(parent){
			parent.bootbox.alert("请选择编辑记录");
		}else{
			bootbox.alert("请选择编辑记录");
		}
		return false;
	}else if(delCount > 1){
		if(parent){
			parent.bootbox.alert("请确认一次只能编辑一条记录");
		}else{
			bootbox.alert("请确认一次只能编辑一条记录");
		}
		return false;
	}
	url = addParam(url, pkName, pkvalue);
	window.location = url;
}
/**
 * 在list页面进行编辑操作
 * @param formId
 * @return
 */
function doEdit(formId) {
	var url = addParam(ctx + cmdEdit, 'ISEDIT', 'TRUE');
	var form;
	if(typeof(formId) == "undefined"){
		form = document.forms[0];
	}else{
		form = document.forms[formId];
	}
	if(typeof(form) == "undefined"){
		if(parent){
			parent.bootbox.alert("请确认formId是否存在");
		}else{
			bootbox.alert("请确认formId是否存在");
		}
		return false;
	}
	
	var delCount = 0;
	var pkvalue = "";
	$(form).find("input[name=PK]").each(function(){
		if(this.checked){
			pkvalue = $(this).attr("value");
			delCount += 1;
		}
	});
	
	if(delCount < 1){
		if(parent){
			parent.bootbox.alert("请选择编辑记录");
		}else{
			bootbox.alert("请选择编辑记录");
		}
		return false;
	}else if(delCount > 1){
		if(parent){
			 parent.bootbox.alert("请确认一次只能编辑一条记录");
		}else{
			bootbox.alert("请确认一次只能编辑一条记录");
		}
		return false;
	}
	form.action = url;
	form.submit();
}


/**
 * 删除选中记录
 * @param formId
 * @return
 */
function doDelete(formId) {
	
	
	if(typeof(formId) == "undefined"){
		formId = $(document.forms[0]).attr("id");
	}
	if(typeof(formId) == "undefined"){
		if(parent){
			parent.bootbox.alert("请确认formId是否存在");
		}else{
			bootbox.alert("请确认formId是否存在");
		}
		return;
	}
	
	var url = ctx + cmdDelete;
	var form = document.forms[formId];
	var delCount = 0;
	
	$("#" + formId).find("input[name=PK]").each(function(){
		if(this.checked){
			delCount += 1;
		}
	});
	if(delCount < 1){
		if(parent){
			 parent.bootbox.alert("请选择删除记录");
		}else{
			bootbox.alert("请选择删除记录");
		}
		return false;
	}
	if(parent){
		parent.bootbox.confirm("确定要删除?", function(result) {
	      	if (result) {
	      			form.action = url;
					form.submit();
	        }
		});
	}else{
		bootbox.confirm("确定要删除?", function(result) {
	      	if (result) {
				form.action = url;
				form.submit();
	        }
		});
	}
}

function initListPage(){

		//全选Checkbox事件
		$(document).on('click', 'th input:checkbox' , function(){
			var that = this;
			$("input[name='PK']").each(function(){
				this.checked = that.checked;
				$(this).closest('tr').toggleClass('selected');
			});
		});
		
		
		//日期组件初始化
		$('.date-picker').datepicker({
			autoclose: true,
			todayHighlight: true
		//点击日期图标，触发日期选择
		}).next().on(ace.click_event, function(){
			$(this).prev().focus();
		});
		
		resizeMainIFrame();	
		
		//jquery tip样式(class必须为acetip)
	    $(".acetip").tooltip({
			show: {
				effect: "slideDown",
				delay: 250
			}
		});
}

/**
  *main_frame根据内容重新自适应高度
  *
  **/		 
function resizeMainIFrame(){
		if(parent){
			var pTar = parent.document.getElementById("main_frame");
			if (pTar) { //ff
				if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight) {
					pTar.height = pTar.contentDocument.body.offsetHeight;
				}else if (pTar.Document && pTar.Document.body.scrollHeight) { //ie
					pTar.height = pTar.Document.body.scrollHeight;
				}
			}
		}
}
/**
 * 初始化新UI框架下的select.jsp页面
 */
function initSelectPage() {
	$('button[PK]').click(function() {
		try {
			if(parent) {
				parent.parent['__extdialog_sharedata'] = $(this).attr('PK');
				parent.parent['__extdialog_active'].dialog('close');
			}
		} catch(e) {
			alert('跨域访问出错');
		}
	});
	
	initListPage();
}

/**********************************************************/
/* Jquery 工具类插件 */
$.extend({
	//判断字符串是否为空
    isBlank: function( str ) {
        if ( typeof str === "undefined") {
            return true;
        }

        if ( typeof str === "string") {
            p = $.trim(str);
            return p.length == 0 ? true : false;
        } else if ($.isArray(str)) {
            return str.length == 0 ? true : false;
        } else {
            return false;
        }
    },


    /*
    * $.trimToEmpty(undefined)     = ""
    * $.trimToEmpty("")            = ""
    * $.trimToEmpty("     ")       = ""
    * $.trimToEmpty("abc")         = "abc"
    * $.trimToEmpty("    abc    ") = "abc"
    */
    trimToEmpty: function( str ){
    	if ( typeof str === "undefined" ) {
            return "";
        }
    	return $.trim(str);
    }
    

})